package com.youzan.open.sdk.gen.v3_0_0.model;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.youzan.open.sdk.model.APIParams;
import com.youzan.open.sdk.model.FileParams;
import com.youzan.open.sdk.model.APIResult;
import com.youzan.open.sdk.model.ByteWrapper;
import java.util.List;
import java.util.Map;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonProperty;

public class YouzanEbizStatsReferralLinksGetResult implements APIResult {

    @JsonProperty(value = "paginator")
    /**
     * 分页参数
     */
    private Paginator paginator;
    @JsonProperty(value = "items")
    /**
     * 跟踪链接列表
     */
    private ReferralLink[] items;

    public void setPaginator(Paginator paginator) {
        this.paginator = paginator;
    }

    public Paginator getPaginator() {
        return this.paginator;
    }
    public void setItems(ReferralLink[] items) {
        this.items = items;
    }

    public ReferralLink[] getItems() {
        return this.items;
    }

    public static class ReferralLink {
            @JsonProperty(value = "page_id")
        /**
        * 监控页面 id
        */
        private Long pageId;
            @JsonProperty(value = "track_link_id")
        /**
        * 跟踪链接 id
        */
        private Long trackLinkId;
            @JsonProperty(value = "source_id")
        /**
        * 来源 id
        */
        private Long sourceId;
            @JsonProperty(value = "source_name")
        /**
        * 来源名称
        */
        private String sourceName;
            @JsonProperty(value = "page_alias")
        /**
        * 页面别名
        */
        private String pageAlias;
            @JsonProperty(value = "page_type")
        /**
        * 被监控页面类型：f，g，h
        */
        private String pageType;
            @JsonProperty(value = "uv")
        /**
        * 落地UV:筛选区间内该页面作为第一个被访问的页面的用户数
        */
        private Long uv;
            @JsonProperty(value = "pv")
        /**
        * 落地PV:筛选区间内该页面作为第一个被访问的页面的浏览量
        */
        private Long pv;
            @JsonProperty(value = "sec_uv")
        /**
        * 二跳UV: 筛选区间内用户访问落地页面后，在页面中发生点击行为进入更多店铺内页面的用户数
        */
        private Long secUv;
            @JsonProperty(value = "sec_pv")
        /**
        * 二跳PV: 筛选区间内用户访问落地页面后，在页面中发生点击行为进入更多店铺内页面的点击次数
        */
        private Long secPv;
            @JsonProperty(value = "out_rate")
        /**
        * 页面跳出率: 筛选区间内用户访问落地页面后，没有任何点击访问就退出页面的比率
        */
        private Long outRate;
            @JsonProperty(value = "order_cnt")
        /**
        * 转化下单数: 筛选区间内用户访问落地页面后，2小时内在店铺中进行下单的数量
        */
        private Long orderCnt;
            @JsonProperty(value = "payed_cnt")
        /**
        * 转化付款数: 筛选区间内用户访问落地页面后，2小时内在店铺中进行下单并且付款成功的订单数量
        */
        private Long payedCnt;
            @JsonProperty(value = "payed_amount")
        /**
        * 转化成交额（分）: 筛选区间内用户访问落地页面后，2小时内在店铺中进行下单并且付款成功的成交金额
        */
        private Long payedAmount;
            @JsonProperty(value = "buy_rate")
        /**
        * 购买转化率: 筛选区间内用户访问落地页面后，2小时内在店铺中进行下单并且付款成功的人数与访客数的比率。计算公式：付款人数 / 落地UV × 100%
        */
        private Long buyRate;
            @JsonProperty(value = "payed_user_cnt")
        /**
        * 转化付款人数：筛选区间内，用户访问落地页面后，2小时内在店铺中进行下单并且付款成功的用户数
        */
        private Long payedUserCnt;
            @JsonProperty(value = "goods_cnt")
        /**
        * goodsCnt
        */
        private Long goodsCnt;
            @JsonProperty(value = "goods_payed_amount")
        /**
        * 单品成交额: 筛选区间内，用户访问落地页面后，2小时内投放商品下单并且付款成功的成交金额（不包括其他连带销售商品的成交额）
        */
        private Long goodsPayedAmount;
            @JsonProperty(value = "origin")
        /**
        * 创建来源
        */
        private Long origin;
    
            public void setPageId(Long pageId) {
            this.pageId = pageId;
        }

        public Long getPageId() {
            return this.pageId;
        }

            public void setTrackLinkId(Long trackLinkId) {
            this.trackLinkId = trackLinkId;
        }

        public Long getTrackLinkId() {
            return this.trackLinkId;
        }

            public void setSourceId(Long sourceId) {
            this.sourceId = sourceId;
        }

        public Long getSourceId() {
            return this.sourceId;
        }

            public void setSourceName(String sourceName) {
            this.sourceName = sourceName;
        }

        public String getSourceName() {
            return this.sourceName;
        }

            public void setPageAlias(String pageAlias) {
            this.pageAlias = pageAlias;
        }

        public String getPageAlias() {
            return this.pageAlias;
        }

            public void setPageType(String pageType) {
            this.pageType = pageType;
        }

        public String getPageType() {
            return this.pageType;
        }

            public void setUv(Long uv) {
            this.uv = uv;
        }

        public Long getUv() {
            return this.uv;
        }

            public void setPv(Long pv) {
            this.pv = pv;
        }

        public Long getPv() {
            return this.pv;
        }

            public void setSecUv(Long secUv) {
            this.secUv = secUv;
        }

        public Long getSecUv() {
            return this.secUv;
        }

            public void setSecPv(Long secPv) {
            this.secPv = secPv;
        }

        public Long getSecPv() {
            return this.secPv;
        }

            public void setOutRate(Long outRate) {
            this.outRate = outRate;
        }

        public Long getOutRate() {
            return this.outRate;
        }

            public void setOrderCnt(Long orderCnt) {
            this.orderCnt = orderCnt;
        }

        public Long getOrderCnt() {
            return this.orderCnt;
        }

            public void setPayedCnt(Long payedCnt) {
            this.payedCnt = payedCnt;
        }

        public Long getPayedCnt() {
            return this.payedCnt;
        }

            public void setPayedAmount(Long payedAmount) {
            this.payedAmount = payedAmount;
        }

        public Long getPayedAmount() {
            return this.payedAmount;
        }

            public void setBuyRate(Long buyRate) {
            this.buyRate = buyRate;
        }

        public Long getBuyRate() {
            return this.buyRate;
        }

            public void setPayedUserCnt(Long payedUserCnt) {
            this.payedUserCnt = payedUserCnt;
        }

        public Long getPayedUserCnt() {
            return this.payedUserCnt;
        }

            public void setGoodsCnt(Long goodsCnt) {
            this.goodsCnt = goodsCnt;
        }

        public Long getGoodsCnt() {
            return this.goodsCnt;
        }

            public void setGoodsPayedAmount(Long goodsPayedAmount) {
            this.goodsPayedAmount = goodsPayedAmount;
        }

        public Long getGoodsPayedAmount() {
            return this.goodsPayedAmount;
        }

            public void setOrigin(Long origin) {
            this.origin = origin;
        }

        public Long getOrigin() {
            return this.origin;
        }

        }

    public static class Paginator {
            @JsonProperty(value = "pageSize")
        /**
        * 每页展示数量
        */
        private Long pageSize;
            @JsonProperty(value = "page")
        /**
        * 页码信息
        */
        private Long page;
            @JsonProperty(value = "totalCount")
        /**
        * 总数量
        */
        private Long totalCount;
    
            public void setPageSize(Long pageSize) {
            this.pageSize = pageSize;
        }

        public Long getPageSize() {
            return this.pageSize;
        }

            public void setPage(Long page) {
            this.page = page;
        }

        public Long getPage() {
            return this.page;
        }

            public void setTotalCount(Long totalCount) {
            this.totalCount = totalCount;
        }

        public Long getTotalCount() {
            return this.totalCount;
        }

        }


}